from django.conf.urls.static import static
from django.conf import settings
from django.urls import path, include

from web.apis.users import authentication
from web.apis.category import category
from web.apis.goods_product import product
from web.apis.orders import order
from web.apis.users import clockIn
from web.apis.inventory import inventory
from web.apis.version import version
from web.apis.notice import notice
from web.apis.scrap import scrap
urlpatterns = [
    # 报废
    path('scrap/', include('web.apis.scrap.urls')),
    # 失物招领
    path('lostAndFound/', include('web.apis.lostAndFound.urls')),
    # 商品兄弟
    path('product/brother/', include('web.apis.goods_product.urls')),
    # 反馈
    path('feedback/', include('web.apis.feedback.urls')),


    # 公告
    # 创建公告
    path('notice/create_notice/', notice.create_notice),
    # 获取公告列表
    path('notice/get_notice_list/', notice.get_notice_list),
    # 获取公告
    path('notice/get_notice/<str:notice_id>/', notice.get_notice),
    # 更新公告
    path('notice/update_notice/<str:notice_id>/', notice.update_notice),
    # 删除公告
    path('notice/delete_notice/<str:notice_id>/', notice.delete_notice),
    # 上传公告图片
    path('notice/upload_notice_image/<str:notice_id>/', notice.upload_notice_image),
    # 删除公告图片
    path('notice/delete_notice_image/<str:image_id>/', notice.delete_notice_image),

    # 版本
    # 创建版本
    path('version/create_version/', version.create_version),
    # 获取版本列表
    path('version/get_version_list/', version.get_version_list),
    # 获取版本
    path('version/get_version/<str:version_id>/', version.get_version),
    # 更新版本
    path('version/update_version/<str:version_id>/', version.update_version),
    # 删除版本
    path('version/delete_version/<str:version_id>/', version.delete_version),
    # 创建版本类型
    path('version/create_version_type/', version.create_version_type),
    # 删除版本类型
    path('version/delete_version_type/<str:version_type_id>/', version.delete_version_type),
    # 上传版本图片
    path('version/upload_version_image/<str:version_id>/', version.upload_version_image),
    # 删除版本图片
    path('version/delete_version_image/<str:image_id>/', version.delete_version_image),
   
    # 盘点
    # 创建盘点
    path('product/inventory/create_inventory/', inventory.create_inventory),
    # 获取盘点列表
    path('product/inventory/get_inventory_list/', inventory.get_inventory_list),
    # 获取盘点详情
    path('product/inventory/get_inventory/<str:inventory_id>/', inventory.get_inventory),
    # 删除盘点
    path('product/inventory/delete_inventory/<str:inventory_id>/', inventory.delete_inventory),
    # 更新盘点
    path('product/inventory/update_inventory/<str:inventory_id>/', inventory.update_inventory),

    # 盘点详情
    # 创建盘点详情
    path('product/inventory/create_inventory_detail/', inventory.create_inventory_detail),
    # 获取盘点详情列表
    path('product/inventory/get_inventory_detail_list/', inventory.get_inventory_detail_list),
    # 获取盘点详情
    path('product/inventory/get_inventory_detail/<str:inventory_id>/', inventory.get_inventory_detail),
    # 更新盘点详情
    path('product/inventory/update_inventory_detail/<str:inventory_id>/', inventory.update_inventory_detail),
    # 删除盘点详情
    path('product/inventory/delete_inventory_detail/<str:inventory_id>/', inventory.delete_inventory_detail),
    


    # 打卡
    # 创建打卡
    path('users/clockIn/create_clock_in/', clockIn.create_clock_in),
    # 上传打卡图片
    path('users/clockIn/upload_clock_in_photo/', clockIn.upload_clock_in_photo),
    # 获取打卡列表
    path('users/clockIn/get_clock_in_list/', clockIn.get_clock_in_list),
    # 获取当前用户的打卡记录
    path('users/clockIn/get_current_user_clock_in_list/', clockIn.get_current_user_clock_in_list),
    # 获取打卡详情
    path('users/clockIn/get_clock_in_detail/<int:clock_in_id>/', clockIn.get_clock_in_detail),
    # 删除打卡
    path('users/clockIn/delete_clock_in/<int:clock_in_id>/', clockIn.delete_clock_in),
    # 删除打卡图片
    path('users/clockIn/delete_clock_in_photo/<int:photo_id>/', clockIn.delete_clock_in_photo),
    
    # 用户注册
    path('users/register/', authentication.register), 
    # 用户登录
    path('users/login/', authentication.login), 
    # 获取用户列表
    path('users/get_user_list/', authentication.get_user_list), 
    # 更新用户
    path('users/update_user/<int:user_id>/', authentication.update_user),
    # 获取单个用户信息
    path('users/get_user/<int:user_id>/', authentication.get_user),
    # 删除用户
    path('users/delete_user/<int:user_id>/', authentication.delete_user), 

    # 创建分类
    path('category/create_category/', category.create_category), 
    # 创建次分类
    path('category/create_category_sub/', category.create_category_sub), 
    # 获取分类列表
    path('category/get_category_list/', category.get_category_list), 
    # 获取次分类列表
    path('category/get_category_sub_list/', category.get_category_sub_list), 
    # 获取分类
    path('category/get_category/<int:category_id>/', category.get_category), 
    # 获取次分类
    path('category/get_category_sub/<int:category_sub_id>/', category.get_category_sub), 
    # 更新分类
    path('category/update_category/<int:category_id>/', category.update_category), 
    # 更新次分类
    path('category/update_category_sub/<int:category_sub_id>/', category.update_category_sub), 
    # 根据主分类ID获取次分类列表
    path('category/get_category_subs_by_parent/<int:parent_id>/', category.get_category_subs_by_parent), 
    # 根据分类ID获取该分类下的全部商品
    path('category/get_products_by_category/<int:category_id>/', category.get_products_by_category),
    # 删除住分类
    path("category/delete_category/<int:category_id>/", category.delete_category),
    # 删除次分类
    path("category/delete_category_sub/<int:category_sub_id>/", category.delete_category_sub),
    # 创建商品
    path('product/create_product/', product.create_product), 
    # 获取商品列表
    path('product/get_product_list/', product.get_product_list), 
    # 获取商品
    path('product/get_product/<int:product_id>/', product.get_product), 
    path('product/get_product_v2/', product.get_product_v2), 

    # 更新商品
    path('product/update_product/<int:product_id>/', product.update_product), 
    # 搜索商品
    path('product/search_product/', product.search_product),
    # 删除商品
    path('product/delete_product/<int:product_id>/', product.delete_product), 
    # 上传商品图片
    path('product/upload_product_image/<int:product_id>/', product.upload_product_image), 
    # 删除商品图片
    path('product/delete_product_image/<int:image_id>/', product.delete_product_image), 
    # 获取商品图片列表
    path('product/get_product_images/<int:product_id>/', product.get_product_images), 
    # 批量更新商品拼音首字母
    path('product/update_products_pinyin/', product.update_products_pinyin),

    # 创建支付方式
    path('order/create_pay_method/', order.create_pay_method), 
    # 获取支付方式列表
    path('order/get_pay_method_list/', order.get_pay_method_list), 
    # 更新支付方式
    path('order/update_pay_method/<int:pay_method_id>/', order.update_pay_method), 
    # 删除支付方式  
    path('order/delete_pay_method/<int:pay_method_id>/', order.delete_pay_method), 

    # 创建订单
    path('order/create_order/', order.create_order), 
    # 获取订单列表
    path('order/get_order_list/', order.get_order_list), 
    # 获取订单
    path('order/get_order/<str:order_id>/', order.get_order), 
    # 更新订单
    path('order/update_order/<int:order_id>/', order.update_order), 
    # 删除订单
    path('order/delete_order/<str:order_id>/', order.delete_order),
    # 更新订单状态
    path('order/update_order_status/<int:order_id>/', order.update_order_status),
    
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)